package com.taxi.driver.module.login;

import com.taxi.driver.common.i.IBasePresenter;
import com.taxi.driver.common.i.IBaseView;

/**
 * 功能描述：
 */
public interface LoginContract {

    interface View extends IBaseView<Presenter> {
//        void getCurrentCity(String city);

        /**
         * 首次登录
         */
        void loginIsFirst(String phone);

        /**
         * 登录成功
         */
        void loginSuccess();

        /**
         * 登录失败
         *
         * @param errCode 错误码
         * @param errMsg  错误原因
         */
        void loginFail(int errCode, String errMsg);

        /**
         * 切换"输入的密码"是否可见
         *
         * @param showPwd
         */
        void changPwdDisplay(boolean showPwd);

        /**
         * 清除密码
         */
        void clearPwd();

        /**
         * 显示封号弹窗
         */
        void showAccountUnavailable(String reason);

        /**
         * 进入用户协议页面
         * @param url
         */
        void gotoAgree(String url);

    }

    interface Presenter extends IBasePresenter {
//        void getCurrentCity();

        /**
         * 登录
         *
         * @param phone 手机号
         * @param pwd   密码
         * @param pwd   密码
         */
        void reqLogin(String phone, String pwd, boolean isAgree);

        /**
         * 保存登录账户
         *
         * @param account
         */
        void saveAccount(String account);

        /**
         * 获得登录账户
         *
         * @return
         */
        String getAccount();

        /**
         * 保存司机类型
         * @param type
         */
        void saveDriverType(int type);

        /**
         * 获得司机类型
         * @return
         */
        int getDriverType();

        /**
         * 获取用户协议H5地址
         */
        void getConfig();
    }

}
